﻿/*************************************************************************************
 * 文 件 名:   TestUI_LoginPanel
 * 
 * 描    述:   与 NodeJsServer 服务器端通信功能模块，用户登录测试页面
 * 
 * 版    本：  V1.0
 * 创 建 者：  京产肠饭
 * 创建时间：  2022/5/14
 * 链   接：  https://gitee.com/JingChanChangFan/hk_-unity-tools
*************************************************************************************/

using UnityEngine;
using UnityEngine.UI;
using QFramework;
using HKTools;

public class TestUI_LoginPanel : MonoBehaviour, IController
{
    public IArchitecture GetArchitecture()
    {
        return HKLoginRegister_Architecture.Interface;
    }

    [Header("账户名和密码：")]
    [SerializeField] InputField username_Input;
    [SerializeField] InputField password_Input;

    [Header("选择是普通用户还是管理员：")]
    [SerializeField] Toggle normal_Toggle;
    [SerializeField] Toggle admin_Toggle;

    [Header("登录按钮：")]
    [SerializeField] Button login_Btn;

    void Start()
    {
        HKLoginRegister_Architecture.Interface.ToString();

        login_Btn.onClick.AddListener(() => OnClickLoginBtn());
    }

    // 点击 登录按钮
    void OnClickLoginBtn()
    {
        if (username_Input.text == "" || password_Input.text == "")
        {
            Debug.Log("用户名或密码为空！请重新输入");
            return;
        }

        string username = username_Input.text;
        string password = password_Input.text;

        string accountType = "";

        if (normal_Toggle.isOn)
            accountType = "normal";

        if (admin_Toggle.isOn)
            accountType = "admin";

        // 用户的登录信息
        var loginInfo = new LoginInfo(username, password, accountType);

        this.GetSystem<IHK_LoginRegisterSystem>().PostLoginMsg(loginInfo, LoginCallback);
    }

    void LoginCallback(bool isSuccessed)
    {
        if (isSuccessed)
            Debug.Log("登录成功");
        else
            Debug.Log("登录失败");
    }
}
